home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / libs / mlib / include / mwin.h < prev   
Encoding:
C/C++ Source or Header  |  1994-02-26  |  2.5 KB  |  73 lines

  1.  
  2. #ifndef __MWIN_H
  3. #define __MWIN_H
  4.  
  5. #define MAX_CHILDREN               256
  6.  
  7. #define NORMAL                  0x0100
  8. #define SHELL_QUIT              0x0101
  9. #define EVENT_NOT_USED          0x0102
  10. #define EVENT_USED              0x0103
  11.  
  12. #define ADD_CHILD               0x0104
  13. #define REMOVE_CHILD            0x0105
  14.  
  15. #define DISABLE_WINDOW          0x0106
  16. #define ENABLE_WINDOW           0x0107
  17.  
  18. #define SET_FOCUS               0x0108
  19. #define REFRESH_WINDOW          0x0109
  20.  
  21. #define HROOT                        1       // Root window handle
  22.  
  23. #define MWIN_ID                 0x012A
  24.  
  25. #define NormalBack                   0
  26. #define NormalFront                  1
  27. #define NormalDarkBorder             2
  28. #define NormalLightBorder            3
  29. #define ActiveBack                   4
  30. #define ActiveFront                  5
  31. #define ActiveDarkBorder             6
  32. #define ActiveLightBorder            7
  33. #define DisabledBack                 8
  34. #define DisabledFront                9
  35. #define DisabledDarkBorder          10
  36. #define DisabledLightBorder         11
  37. #define UserDefined                 12
  38. #define N_COLOR_TYPES                 (UserDefined + 1)
  39.  
  40. class MWindow : public MTree, public MFileOp {
  41. protected:
  42.     VP                       box;
  43.     WORD                     HParent;
  44.     WORD                     (*UserHandler)(...);
  45. public:
  46.     WORD                     Handle;
  47.     BOOL                     IsActive;
  48.     BOOL                     Disabled;
  49.     BOOL                     Refresh;
  50.     BYTE                     color [N_COLOR_TYPES];
  51. public:
  52.                  MWindow (int x1, int y1, int x2, int y2,
  53.                       WORD AHandle, WORD AnHParent = HROOT);
  54.                  MWindow (const RECT& ABox, WORD AHandle,
  55.                       WORD AnHParent = HROOT);
  56.     virtual void             Draw (void);
  57.     virtual inline void      Activate (void);
  58.     virtual inline void      Deactivate (void);
  59.     virtual inline void      Disable (void);
  60.     virtual inline void      Enable (void);
  61.     virtual WORD             Handler (EVENT event);
  62.     virtual inline classType isA (void) {return MWIN_ID;};
  63.     virtual inline void      LoadDirect (int fp);
  64.     virtual inline void      ResizeBox (WORD NewLength, WORD NewWidth);
  65.     virtual inline void      ResizeBox (const RECT& NewBox);
  66.     virtual inline void      SaveDirect (int fp);
  67.     virtual inline void      SetColor (BYTE what, BYTE extra, BYTE to);
  68.     virtual inline void      SetUserHandler (WORD (*NewUserHandler)(...));
  69.                 ~MWindow (void);
  70. };
  71.  
  72. #endif
  73.